<?php
/**
 *
 *  Classe Usuario (Extende MysqlPDO)
 *
 *  @param emailUsuario   Email do usuário
 *  @param nomeUsuario    Nome do usuário
 *  @param senhaUsuario   Senha de acesso do usuário
 */
class Usuario extends pg_pdo {
    private $nomeUsuario   = null;
    private $emailUsuario  = null;
    private $senhaUsuario  = null;
 
    public function getNomeUsuario(){
        return $this-> nomeUsuario;
    }
    public function setNomeUsuario($value){
        $this-> nomeUsuario = $value;
    }
 
    public function setEmailUsuario($value){
        $this-> emailUsuario = $value;
    }
 
    public function setSenhaUsuario($value){
        $this-> senhaUsuario = $value;
    }
 
    /**
     * Login do usuario
     *
     * @return boolean  [true|false]
     */
    public function login(){
        try {
            $nom = null;
 
            $dtb = $this-> dtb;
            $sel = $dtb-> prepare("
                SELECT
                    nome AS nome
                FROM
                    ".TB_USU."
                WHERE
                    email = :email AND
                    senha = :senha
                LIMIT
                    1
            ");
            
            $sel-> bindValue(':email', $this-> emailUsuario,      PDO::PARAM_STR);
            $sel-> bindValue(':senha', md5($this-> senhaUsuario), PDO::PARAM_STR);
            $sel-> bindColumn('nome', $nome);
            $sel-> execute();
            $sel-> fetch();
 
            if ($sel-> rowCount() > 0){
                $this-> nomeUsuario = $nome;
                return true;
            }
            else {
                $this-> nomeUsuario = null;
                return false;
            }
        }
        catch (PDOException $e) {
            printf("%s", "Ocorreu uma falha na transa&ccedil;&atilde;o: " .$e-> getMessage(). "\n");
            return false;
        }
        catch (Exception $e) {
            printf("%s", "Ocorreu um erro ao executar a tarefa: " .$e-> getMessage(). "\n");
            return false;
        }
        $dtb = null;
    }
}
?>